import http from '@/plugins/axios';
import {encryptData} from '@/utils/RAS.ts';

/**
 * 账号密码登陆
 * @param username 账号
 * @param password 密码
 */
export function fetchLogin(username: string, password: string): Promise<User.Login> {
  // 使用 Promise 包裹异步操作
  return new Promise((resolve, reject) => {
    // 加密密码
    password = encryptData(password);

    // 发起 HTTP 请求
    http<User.Login>({
      url: '/auth/login/username_password',
      method: 'post',
      data: {
        username,
        password,
      },
    })
      .then(response => {
        // 请求成功时，返回数据
        resolve(response.data);
      })
      .catch(error => {
        // 请求失败时，捕获并抛出错误
        console.error('Login failed:', error);
        reject(error);
      });
  });
}


